package org.xs.object.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.multipart.MultipartFile;
import org.xs.object.dao.product.Product;
import org.xs.object.dao.page.PageResquest;
import org.xs.object.utils.R;

import java.util.ArrayList;

public interface IProductService {
    //查询商品列表(分页)
    /*
    * @param pageNum
    * @param pageSize
    * @return  R
    * 1.校验参数
    * 2.分页查询
    * 3.查询商品列表
    * 4.返回结果
     */
    R postProductList(PageResquest pageResquest);
    //根据商品ID查询商品详情
    R getProductById(Integer id);
    R getProductById(ArrayList<Integer>  ids);
    //添加商品
    R addProduct(@Autowired Product  product);
    R addProduct(@Autowired ArrayList<Product> product);
    //修改商品
    R updateProduct(@Autowired  Product product);
    R updateProduct(@Autowired ArrayList<Product> product);
    //删除商品
    R deleteProduct(Integer id);
    R deleteProduct(ArrayList<Integer>  ids);
    //根据名称查询商品
    R getProductsByName(String name);
    R getProductsByName(ArrayList<String> names);
    //根据品牌查询商品
    R getProductsByBrand(String brand);
    R getProductsByBrand(ArrayList<String> brands);

    //上传商品logo
    R uploadProductLogo(MultipartFile product);

    R deleteProductLogo(Integer id);
}
